// var url = "http://h5.tsshzl.ubo.net:8848" + window.location.pathname
// let Test = "http://api.tsshzl.ubo.net"
// let formal  = "http://api.tsshzl.ubo.net"
let formal = "http://api.tangshan.youbo.me" //线上地址
// let formal = 'http://api.tangshan.k1.qiaol.com' //测试地址
let getToken = localStorage.getItem("token")

let userInfo = JSON.parse(localStorage.getItem("userInfo"))
let headers = {}

function ajax(obj) {
    console.log(obj.headers)
    // if (obj.headers != undefined) {
    // 	headers = {
    // 		token: obj.headers.token,
    // 		'Content-Type':'application/x-www-form-urlencoded'
    // 	}
    // } else {
    // 	headers = {
    // 		'Content-Type':'application/x-www-form-urlencoded'
    // 	}
    // }
    console.log(headers)

    // 设置默认参数
    let option = {
        method: 'get',
        url: '',
        async: true,
        data: {},
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded'
        },
        success() {

        },
        error() {

        }
    }
    option = {
        ...option,
        ...obj
    }
    const xhr = new XMLHttpRequest()
    // 声明一个方法将接收参数从{key:value}转为&key=value格式
    let params = ''
    for (let key in option.data) {
        params += `${key}=${option.data[key]}&`
    }
    // 这样拼出来的字符串最后面会是&而我们不需要最后面的&所以将他截取掉
    params = params.substr(0, params.length - 1)
    option.method.toUpperCase() == 'GET' && (option.url += `?${params}`)
    // 初始化请求 声明方法和地址
    xhr.open(option.method, option.url, option.async)
    // 发送请求
    if (option.method.toUpperCase() == 'POST') {
        // 接收一个头部信息
        let ContentType = option.headers['Content-Type']
        let token = 'Bearer ' + option.headers['getToken']
        xhr.setRequestHeader('Content-Type', ContentType)
        // if (option.headers['getToken'] != undefined) {
        // 	xhr.setRequestHeader('Authorization', token)
        // }
        //xhr.send(option.data)如果这样的话传递的参数则会是一个[object Object]所以需要转成json字符串
        ContentType == 'application/json' ? xhr.send(JSON.stringify(option.data)) : xhr.send(params)
    } else {
        xhr.send()
    }
    xhr.onreadystatechange = function () {
        // 4为请求完毕获取所有数据
        if (xhr.readyState == 4) {
            // 获取相应头的信息
            let head = xhr.getResponseHeader('Content-Type')
            // json格式的话会返回application/json; charset=utf-8 而字符串格式的话会返回 text/html; charset=utf-8
            let data = head.includes('application/json') ? JSON.parse(xhr.response) : xhr.response
            if (xhr.status >= 200 && xhr.status < 300) {
                option.success(data)
            } else {
                option.error(data)
            }
        }
    }
}

function showErrorTip(tip) {
    $('#errorTip').text(tip);
    $('#errorTip').fadeIn();
    setTimeout(function () {
        $('#errorTip').fadeOut();
    }, 2000);
}